Recibo el siguiente error cuando hago npm run build:
El compilador angular requiere TypeScript >=3.4.0 y <3.5.0 pero se encontró 3.5.3 en su lugar.
He intentado lo siguiente por separado:
npm install typescript@">=3.4.0 <3.5.0". Luego eliminó node_modules y package.json. Ejecute la instalación de npm
actualización npm --force. Luego eliminó node_modules y package.json. Ejecute la instalación de npm
Todavía recibo el error:
Mi paquete.json contiene las siguientes dependencias:
"dependencies": { "@angular/animations": "8.1.0", "@angular/cdk": "^8.0.2", "@angular/cli": "^8.1.0", "@angular/common": "8.1.0", "@angular/compiler": "8.1.0", "@angular/core": "8.1.0", "@angular/forms": "8.1.0", "@angular/http": "7.2.15", "@angular/material": "^8.0.2", "@angular/platform-browser": "8.1.0", "@angular/platform-browser-dynamic": "8.1.0", "@angular/router": "8.1.0", "@ngx-translate/core": "^11.0.1", "@ngx-translate/http-loader": "^4.0.0", "angular-user-idle": "^2.1.2", "angular2-cookie": "^1.2.6", "core-js": "^2.6.7", "rxjs": "6.5.2", "rxjs-tslint": "^0.1.5", "stream": "0.0.2", }, "devDependencies": { "@angular-devkit/build-angular": "^0.801.0", "@angular/compiler-cli": "8.1.0", "@angular/language-service": "8.1.0", "@types/jasmine": "~3.3.13", "@types/jasminewd2": "~2.0.6", "@types/node": "~12.6.1", "jasmine-core": "~3.4.0", "jasmine-spec-reporter": "~4.2.1", "protractor": "~5.4.2", "ts-node": "~8.3.0", "tslint": "~5.18.0", "typescript": "^3.4.5" }ng --version da el siguiente resultado:
Angular CLI: 8.1.2 Node: 10.16.0 OS: win32 x64 Angular: 8.1.0 ... animations, common, compiler, compiler-cli, core, forms ... language-service, platform-browser, platform-browser-dynamic ... router Package Version ----------------------------------------------------------- @angular-devkit/architect 0.801.2 @angular-devkit/build-angular 0.801.2 @angular-devkit/build-optimizer 0.801.2 @angular-devkit/build-webpack 0.801.2 @angular-devkit/core 8.1.2 @angular-devkit/schematics 8.1.2 @angular/cdk 8.1.1 @angular/cli 8.1.2 @angular/http 7.2.15 @angular/material 8.1.1 @ngtools/webpack 8.1.2 @schematics/angular 8.1.2 @schematics/update 0.801.2 rxjs 6.5.2 typescript 3.5.3 webpack 4.35.2¿Qué podría estar yendo mal aquí?
Para proyectos que se ejecutan en las últimas versiones de Angular 12, debe usar TypeScript v4.2.x a 4.3.x
npm i -D typescript@4.3.5Para proyectos que se ejecutan en las últimas versiones de Angular 11 (11.2.x), admite hasta TypeScript v4.1.5.
npm i -D typescript@4.1.5Para aquellos que usan Angular 10, tenga en cuenta que se debe instalar TypeScript 3.9, ya que los mantenedores han eliminado la compatibilidad con TypeScript 3.8 . La apuesta más segura sería instalar la última versión de TypeScript
npm i -D typescript@3.9.5Para proyectos que se ejecutan en las últimas versiones de Angular 9 ( v9.1.x ), admite hasta TypeScript v3.8.3. Si está utilizando algo más nuevo que eso (como TypeScript v3.9.0), debe degradarlo e instalar las versiones compatibles:
npm i -D typescript@3.8.3Para proyectos que se ejecutan en las versiones anteriores de Angular 9 ( v9.0.x ), las versiones de TypeScript admitidas son TypeScript v3.6.5 a v3.7.5 (inclusive). La instalación de cualquier otra versión no compatible (como la 3.8.3) generaría un error similar a este:
ERROR in The Angular Compiler requires TypeScript >=3.6.4 and <3.8.0 but 3.8.3 was found insteadPara solucionarlo, debe instalar las versiones admitidas que se indican en el mensaje de error. Le recomendaría que instale Typescript 3.7.x, ya que desbloqueará funciones útiles como el encadenamiento opcional y la fusión nula.
npm i -D typescript@3.7.5Alternativamente, puede simplemente actualizar Angular a la última versión secundaria (v9.1.x), ya que no debería contener ningún cambio importante.
Parece que tiene instalada la última versión (v3.5.3) de TypeScript. Debería instalar TypeScript v3.4.5 en su lugar, que es la versión compatible con Angular 8.
Puede probar este comando para instalar la versión específica de TypeScript, en lugar de la última versión.
npm i -D typescript@3.4.5 Además, es posible que desee considerar cambiar el signo de intercalación ^ para la versión de TypeScript en su paquete.json:
Eliminarlo por completo significa que evitará que npm instale o use la versión secundaria más reciente (3.5.3).
"mecanografiado": "3.4.5"
Cambiarlo a "~" le diría a npm que cualquier lanzamiento de parche es aceptable
"mecanografiado": "~3.4.5" // usará la última versión que coincida con 3.4.X
Para obtener más información sobre el uso del control de versiones de paquetes npm: https://docs.npmjs.com/about-semantic-versioning
|-----------------|--------------------| | Angular version | TypeScript version | |-----------------|--------------------| | 6.1.x | 3.6.x | |-----------------|--------------------| | 7.2.x | 2.9.x | |-----------------|--------------------|Asimismo, si estamos utilizando cualquier otra versión de Angular, puede instalar las respectivas versiones de TypeScript.
npm i -D typescript@3.6.4Fuente : consulte la lista completa de versiones de TypeScript admitidas para cada versión de Angular.
En realidad, hay una manera de instalar versiones de TypeScript que 'no son compatibles' con la versión de Angular que está instalada dentro de su proyecto, como lo señala felipesilva . Un beneficio de hacerlo sería permitirle instalar las últimas versiones de TypeScript (como TypeScript 4.1.2 o cualquiera de las versiones beta) en su proyecto.
En su tsconfig.json , simplemente puede configurar disableTypeScriptVersionCheck como true .
{ // ... "angularCompilerOptions": { // ... "disableTypeScriptVersionCheck": true } }Sin embargo, tenga en cuenta que la documentación oficial de Angular no recomienda hacerlo:
No se recomienda, ya que las versiones no compatibles de TypeScript pueden tener un comportamiento indefinido.
Desinstale TypeScript usando el siguiente comando:
npm uninstall typescripty luego instale la versión específica de mecanografiado:
npm i --save-dev typescript@3.4.5Este problema depende principalmente de la versión @angular/cli, por lo que el mecanografiado depende de la versión angular
cuando actualice angular verifique este sitio web (devDependency)
https://david-dm.org/angular/angular-cli
y hacer
npm i --save-dev mecanografiado@3.4.5
Se requiere la versión 3.4.5
Ejecuta esto:
npm i --save-dev typescript@~3.4.5Su error es "^" "typescript": "^3.4.0" en su paquete.json
la solución es "typescript": "~3.4.0"
Ejecute este script para encontrar la versión exacta
npm install typescript@">=3.4.0 and <3.5.0" --save-dev¡Buenas noticias!
Puede usar TypeScript 3.5 si actualiza a Angular 8.2+. La versión 8.1 aún no lo admitía.
Prueba: https://github.com/angular/angular-cli/issues/15134#issuecomment-516908416
No necesita desinstalar y volver a instalar el mecanografiado para que pueda instalar la versión específica de mecanografiado como se recomienda en el error.
npm install typescript@ versiono puedes correr
npm install typescript@ version --save-devpara guardarlo en el paquete json
También estaba teniendo este problema en mi Angular 9 , pero con diferentes números de versión.
ERROR en The Angular Compiler requiere TypeScript >=3.6.4 y <3.8.0 pero se encontró 3.8.2 en su lugar.
lo que hice fue,
typescript y encontré que solo admite 3.7typescript en package.json como "typescript": "~3.7.0"npm i El ~ aquí es importante ya que se asegurará de que se actualizará solo a la próxima versión del parche (< 3.8.0 ), no a las versiones menores, si usa ^ también se actualizará a las versiones menores (por ejemplo, 4.0.0) 4.0.0 ).
Tienes dos opciones:
esto instalará la versión correcta
npm install typescript@">=3.4.0 and <3.5.0" --save-dev vaya a package.json y cambie su versión de typescript , si desea actualizar su proyecto angular a
Angular 13 ( npm install typescript@"~4.4.0" --save-dev )
"devDependencies": { ... "typescript": "~4.4.0" } Angular 12 ( npm install typescript@"~4.2.0" --save-dev )
"devDependencies": { ... "typescript": "~4.2.0" } Angular 11 ( npm install typescript@"~4.0.0" --save-dev )
"devDependencies": { ... "typescript": "~4.0.0" } Angular 10 ( npm install typescript@"~3.8.0" --save-dev )
"devDependencies": { ... "typescript": "~3.8.0" } Angular 9 ( npm install typescript@"~3.7.0" --save-dev )
"devDependencies": { ... "typescript": "~3.7.0" } Angular 8 ( npm install typescript@"~3.4.0" --save-dev )
"devDependencies": { ... "typescript": "~3.4.0" } Angular 7 ( npm install typescript@"~3.1.0" --save-dev )
"devDependencies": { ... "typescript": "~3.1.0" } Angular 6 ( npm install typescript@"~2.9.0" --save-dev )
"devDependencies": { ... "typescript": "~2.9.0" } Angular 4 ( npm install typescript@"~2.2.0" --save-dev )
"devDependencies": { ... "typescript": "~2.2.0" }Entonces corre:
npm installuse este comando su trabajo para mí .. Gracias
npm i typescript@">=3.6.4 <3.8.0"En lugar de "typescript": "^3.4.5" en devDependencies en su archivo package.json , ingrese "typescript": "~3.4.5" y guarde el archivo, luego ejecute npm install nuevamente. Funcionó para mí.
Uso de Angular 11
npm i -D typescript@4.0.5Si desea actualizar su proyecto angular a Angular 11
npm install typescript@">=4.0.0 and <4.2.0" --save-devEn paquete.json:
"devDependencies": { ... "typescript": "^4.1.5" }En mi caso recibí este error al migrar de Angular 10 a Angular 11.
An unhandled exception occurred: The Angular Compiler requires TypeScript >=4.0.0 and <4.2.0 but 4. 2.3 was found instead.Para resolver este problema, utilicé este código en Visual Studio donde existe mi proyecto Angular:
npm install typescript@'>==4.0.0 <4.2.0'Cuando tuve un error similar, ejecuté:
yarn clean cacheSi usa npm, puede intentar ejecutar:
npm clean cacheNo estoy seguro de que sea una solución al 100%, pero espero que pueda ayudar a alguien.